using System;
using System.Collections.Generic;

using System.Text;

using Mud.Common.Physical;

namespace Mud.Server.Physical
{
    /// <summary>
    /// Base class for all objects in the game world.
    /// </summary>
    public abstract class PhysicalObject : ServerObject 
    {

		/// <summary>
		/// Objects physical properties.
		/// </summary>
		public PhysicalProperties PhysicalProperties {
			get { return _physicalProperties; }
			set { _physicalProperties = value; }
		}
        private PhysicalProperties _physicalProperties = new PhysicalProperties();

        /// <summary>
        /// Current name of the area, if the object is not in the game
        /// environment, then only the name is accessible.
        /// </summary>
        public string CurrentAreaName
        {
            get { return _currentAreaName; }
            set { _currentAreaName = value; }
        }
        private string _currentAreaName;


        /// <summary>
        /// Current are of the object.
        /// </summary>
        public Area CurrentArea
        {
            get { return _currentArea; }
            set { _currentArea = value; }
        }
        private Area _currentArea;

        /// <summary>
        /// Location of the object in the area.
        /// </summary>
        public Location Location
        {
            get { return _location; }
            set { _location = value; }
        }
        private Location _location;


		public PhysicalObject(IServer server) : base(server) { }

    }
}
